home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
doors_1
/
drwy205.zip
/
DOORWAY.HST
< prev
next >
Wrap
Text File
|
1993-01-04
|
28KB
|
559 lines
HISTORY OF DOORWAY
VERSION 1.0 Released. Fixed all known beta bugs, added registration.
Eliminated expiration date. Added /O: and /L: switches.
VERSION 1.1 Fixed a problem where a lost carrier during a remote drop
to DOS would crash the system.
Fixed a problem where some programs would output characters
slowly, or not at all.
Fixed a problem where a memory resident program could cause
extraneous characters to appear when the Sysop typed.
VERSION 1.2 Fixed a problem where characters were sometimes lost,
especially on faster computers and during the RETURNING
TO BOARD message.
Made the restoration of interrupts less likely to crash
multi-tasking systems.
Fixed bug which made some programs crash when terminated.
Fixed hang up problems in LOCAL mode.
Eliminated the 'KEYBOARD TIMEOUT IN DOS - WAITING' message.
Resets the keyboard timer on the SYSOP's keyboard entries as
well as the user's.
If the user's time has expired when called it will now
return without loading the program.
Fixed a problem with putting parameters for the called
program on the line after the program name.
VERSION 1.3 EXTERNAL ABORTS IN DOS DON'T REBOOT. Now if you do an
external abort while in a drop to dos, it will abort the
program and return you to dos instead of rebooting. An
abort can even be done while doing a directory of dos. Of
course your command line must have the /r:^k (or whatever
you wnat).
Fixed problems with the screen clearing on clear to end of
lines, and windowed clears. Clearing the bottom line no
longer causes an unwanted scroll.
LOCAL DOOR OPERATION IS DONE ON LOCAL CALLS. You will no
longer get a carrier lost if you sign on locally and then
enter a doorway door. If it can find PCBOARD.SYS, then it
will automatically overide the com selection and force it to
LOCAL.
YOU WILL NO LONGER GET KEYBOARD TIMEOUTS IN LOCAL MODE. They
are now overriden.
THE SYSOP CAN NOW DO AN EXTERNAL ABORT ON A DOOR. The user
will receive a "SYSOP HAS REQUESTED YOU TO RETURN TO THE
BOARD" message and control will return to the board. The
Sysop needs to enter a character defined by the /r: to force
this to happen.
PROGRAMS WHICH TURN OFF THE COM PORT WILL NOW WORK. Doorway
now monitors the com lines. In a drop to dos situation, some
programs would disable the com port when exited. When a
character is entered by the user and not fetched for over .5
second DOORWAY will reopen the port and send a beep.
DOORWAY /B:M IS NOW COMPATIBLE WITH 25 LINE MODEM PROGRAMS.
Previous versions were incompatible between the DOORWAY being
set up for 24/25 line operation and modem programs with the
opposite. This primarily shows up on drop to DOS and text
type programs.
DOORWAY NOW HAS A MENU CAPABILITY. This is similar to the
monitor function seen on RBBS's. When DOORWAY is entered, it
can be set up to display a menu of programs to select from.
The user enters a number from 0 to 9 and the program is
loaded and run. When aborted, doorway returns to the menu,
to let the user select another door if desired. To exit the
menu the user enters either a "E", or a number which is not
defined. If you don't enable the menu function then doorway
will behave just like previous versions.
A new switch has been added. If you put in the /W: switch it
will pause at the return from a program. It will not pause
if there is a carrier loss, or if the program was terminated
by the Sysop.
The inputs in the DOORWAY itself now has a 1 minute keyboard
timeout. So if the user sits for over a minute at a prompt
in the menu, or the /w: prompt (Enter Return to continue ...
message), it will return to the board.
An attempt has been made to make back spaces work with DDOS.
This is not actually a DOORWAY problem. DDOS is replacing
your IBM compatible BIOS with a non-IBM compatible routine.
It does not handle Back spaces properly. With this version,
if DDOS is detected, it will replace one of the normal spaces
which DOUBLE DOS sends out with a BACKSPACE character if a
Backspace was called for. This isn't perfect, the cursor
stays one to the right of where it truely is when backspacing,
but it is much better than it was.
DOORWAY now uses timer ticks for its pauses, so that a 3
second pause on an XT is still a 3 second pause on an AT, or
386 machine.
The /M:X has been fixed. It only messed up before if the /F:
switch was set.
For those of you who are running other than PCBoard, I have
made it so that the search for PCBOARD.SYS can be totally
overridden. Simply enter an /s:* on the command line and the
delays associated with looking for PCBOARD.SYS and printing
the "not found" message will be gone.
You can now password protect any door, or your drop to dos
with doorway.
VERSION 1.4 Changed source code for compatiblity with Turbo Pascal 4.0.
Fix over-runs on locked 19,200 locked bauds (CTS HOLDOFF)
Fix ansi being sent on bw mode.
Doorway is now share compatible. Added /N: network switch.
Fixed problem where it would not recognize the PS2 UART.
Added the /K: switch for keyboard timeout control.
Allow command line to not use the ":" if desired.
Allow the program name to be other than .EXE and .COM if VIA.
Made menu mode recursive, and allow password prot. of menu.
Make menu go from 0-9 and A-Z, allow a "Q" to quit menu.
Make compatible with both 11-12 and 14 versions of PCBOARD.SYS
Added scroll switch to the /B: (/B:MS)
Make it break all programs, even if in DOS input.
Menu mode now keeps up with the amount of time left when the
menu recycles.
COMMENTS on changes:
Compiling with Turbo version 4 should have very little effect on your
usage. It should be slightly smaller, and in some cases may use more
stack, so we need to watch for unexpected crashes. Version 4 of TP
allows me to use Periscope as a source debugger, making the code easier
to debug.
If you are using a high speed modem with 19,200 locked in, doorway
previously could overrun the modem buffer, since it could continue
sending characters while the CTS is held low. CTS low now holds off
anything from going out the serial port.
In the BW mode, carriage returns would sometimes send an ANSI sequence.
This has been fixed.
Doorway now opens the pcboard.sys and immediately closes it so your program
can access it without a share error. If a /N: is included on the command
line, then PCBOARD.SYS, the menu, exit message and all files opened by the
program shelled are opened share compatible, allow read, deny write. If a
shelled program opens the file in a share compatible mode, doorway will not
change it.
The PS2 now uses a new UART, which made the port appear to not be installed.
The new code recognizes the new UART now and should successfully open the
port.
Keyboard timeouts can now be set. using a /K:0 will disable the timeout,
/K:number will set the timeout to "number" seconds (up to 255), and a
/K:V will reset the keyboard timeout on every video call. This is if a
door sends out lots of information, and the keyboard could time out while
the information is being sent, like a very large directory. However if you
were to use this option on EATUMUP, the monsters moving would prevent the
keyboard from timing out, so it needs to be used with caustion. If you want
to reset the timer on video and set it for 2 minutes then do a "/K:V120".
If you are running out of room on the command line (DOS only lets you put
127 characters on a line), you can now eliminate the colons after the switchs.
It makes reading the line more difficult, so it is not recommended to leave
them out unless you really need the space.
The use of "/C:VIA" tells the code to use command.com to do path searching.
The previous code still required the .exe or .com extension. That is no
longer required when using the "via".
This code is now compatible with pcboard version 14. It will look at the
PCBOARD.SYS file and determine which version of PCBOARD it is from, and
treat it accordingly. I do NOT have a copy of PCBOARD ver. 14 yet, so
the changes concerning the code for 14 has not been checked. Please let
me know if you have any problems. Also I would appreciate an upload of the
pcboard.sys file from a drop to a door with version 14, so I can check it
myself.
A new switch option has been added to the /b: switch. Basically there are
a lot of things that can go wrong at the bottom of the screen. The user's
modem package probably uses the bottom line for status. So in most cases
you will need to put the /b:m on the command line. This will readdress any
writes to line 25 to line 24. Now if you are doing a dos directory you will
need the screen to be scrolled when the cursor moves from line 24 to line 25.
On previous versions of DOORWAY you would get line 25 overwriting line 24 when
writing line 25 the first time. If you were using the /l: function this did
not happen. Now if you are not using the /l:, putting an "S" in the /B:M
switch (/B:MS) tells the code to force a scroll when going from line 24 to
line 25. This should not be put in if you are running something which should
not be scrolled, such as EATUMUP.
Menu Mode will take 0-9 and A-Z, the "A" is the next entry after the "9".
Menu mode now keeps track of the user time. When he leaves a door, it will
only allow him what is left of his time when he selects a new menu selection.
Doorway now trys very hard to break a program before re-booting. In virtually
all cases it can now abort the program on a timeout, lost carrier and so forth.
It will try to abort normally for 4 seconds. Then it will send the program a
^C,CR,Q,CR,E,CR,ESC,CR at 4 second intervals. If the ^C, Q, E, and ESC won't
abort the program directly, then it can still usually be aborted when it is
responding one of the entries. It also hooks the dos interrupt so if the
program tries to do another dos input, we use that to gain control BEFORE
it enters dos. I have tried this on a large number of programs and have not
found any which this will not about withing 5 seconds.
VERSION 1.41
Turbo Pascal version 4.0 CRT and TURBO3 units are incompatible with Task View.
Hats off to Mr. Richard Byrne who supplied me with replacement code for these
necessary units which is compatible with TaskView. version 1.41 has been
recompiled with this code so it no longer dies under TaskView. Many thanks
Richard.
Sometimes an external abort in DOS would crash the system. This has been
corrected now.
VERSION 1.42
Loss of carrier would result in a lock up instead of a reboot. Fixed.
VERSION 1.43
DOORWAY 1.43 has the following changes/enhancements:
The /D: parameter has been added. This will inhibit all disk writes
directory creations, file/directory deletes and filename renames. Thus
a game which wants to write a score can be prevented from doing so.
The /L when used without a /b:m will no longer address to line 24 before
moving to line 25.
Many of the previous undefined I/O errors now give English statements.
A new parameter has been added to all the ones you presently have for the
b: switch. A "Z" will not allow a character to be written to column 80 on
the bottom line of the screen. Some programs would write a character there,
quite often a space, making the screen on the remote end scroll, when it
shouldn't. Obviously, you will be missing a character on the right of the
screen if you do this, and a character is supposed to go there. A good
example of a program where this is required is FINANCE, which is screen
oriented, but ends up scrolling without the "Z".
Eliminated the "E" and "Q" predefined selections on menu mode. These are
legitimate menu entries. As always, a door number selected beyond the last
one will terminate, so the "E" and "Q" will still work if there is no door
corresponding to those.
The doorway can also read a small file called door.sys (see the other doc
file). This is a generic file which can be easily created from other
system's SYS files. The file is totally ascii and can be created easily on
a text editor. To use this file use the following:
DOORWAY SYS [swichtes] /p:program.ext
The DOOR.SYS file contains the com port number, so it isn't required on the
command line.
A small program called send.exe has been included. The useage is:
SEND FILENAME.EXT
It will send the file to the monitor (and out the modem under doorway), then
pause after a screen full is sent. It will accept a Y,N or NS at the
"MORE?" prompt. Thus the following can be done:
Welcome to the financial door. This door will compute the balance,
payments, balloon payment, number of payments left, principle, interest
and so forth on any loan, savings or mortgage. It is full screen
edited. The selections may be made by using the cursor keys in doorway
mode of your com package, or by entering the letters at the beginning
of each selection. enter an "=" to compute an entry. You must have
ANSI graphics to operate this door. For complete operation instructions
select 1 below.
1: Read the Doc. file on the financial door.
2: Run the door.
3: Return to the board
m:Please enter one of the above numbers or "Q" to quit:
/g:on /b:ms /p:\pc-board\SEND.EXE finance.doc
/g:on /b:xz /p:finance.exe
Have corrected a bug where and external abort could sometimes crash the system.
Have corrected a problem with a keyboard timeout in DOS or local mode which
could crash the system.
Have fixed a problem where DOORWAY would not run with the old IBM BIOS with
the scroll screen bug (where it trashes the BP register on the int 10 call).
Have made the Greeting and goodbye files handle ANSI graphics properly on the
Host system now. (These now use the DOS calls instead of the BIOS calls).
VOILA!!!! Now works with Quick Basic 4! Also should work with other compilers
which allow redirection. New command line switch, /Q: for Quick Basic. This
switch grabs the dos interrupt and when Quick Basic asks if it is redirecting
the standard output, doorway now changes the "NO" to a "YES". This makes the
program use the DOS calls for writing instead of doing direct screen writes.
VERSION 1.44
A bug has been fixed where a lost carrier or external abort occuring prior
to the door program being loaded would result in a locked up system.
Made SEND.EXE pause at the end of the file, and ask for a return to continue.
VERSION 1.45
Look for writing the same character twice and ignore the second. This is
primarily for ANSI.COM from PC Magazine, but may also help some other set-up's
as well.
VERSION 1.46
Fixed problem where if it is running under DOS 4 with an enhanced keyboard
and enhanced BIOS (PS/2 and 386's mainly), it would not receive characters
from remote.
VERSION 2.00
Support for COM3 and COM4. COM3 uses the same interrupt as COM1
normally does and COM4 uses the same interrupt as COM2.
Menu selections "N" and "Y" should work now (if you have that many!)
EMEDIT with DVANSI and ANSI.COM should work now (Was giving double LF's)
Keyboard gets dumped now before door is loaded.
If the menu mode is used on a drop to DOS, it should return to the
menu instead of the BOARD when set up to return to the menu.
Direct Screen Writes. This is the biggie. DOORWAY will now work with
direct screen writes. If you CAN use BIOS it is recommended to do
so, as you will find that BIOS will give a speed advantage and
better diplay characteristics than DIRECT VIDEO. If you don't tell
DOORWAY otherwise, it will use BIOS. The /V: switch (VIDEO) has been
added. It is used as follows:
/V:D Use direct video scanning. This will make doorway ignore BIOS calls
and scan the screen for changes during any and all keyboard
interrrupts.
/V:B Use BIOS interrupts. This is the default if you don't use a /V: at
all.
/V:B^O Use BIOS interupts, but switch between BIOS and DSW modes when it
sees a ^O (control O) entered at the remote keyboard (not local).
/V:D^U Start in Direct Screen mode, and switch between modes with a ^\
(control U). Note that all keys don't have a control equivalent!
You can make the mode switching with any character you want, normal or if
preceded by a carrot (^) it will be the control character. Switching from
BIOS to DSW mode will clear the remote and repaint the entire screen,
convenient if you receive line noise.
DOORWAY is smart enough to detect when a screen scroll is done, and scroll the
remote, instead of rewriting the whole screen. In fact if a windowed scroll
is done, a decision will be made on whether to scroll the screen or not
depending on how many lines scrolled vs. how many didn't.
If you seem to be having problems with the remote screen having lines from
a previous screen left on it, or of scrolling when the bottom line is written
(like the command line prompt is on line 24 instead of 25), then your com
program is ignoring an ANSI command to NOT wrap the line. This casues an
extra scroll on the remote end. QMODEM 3.1, 3.1a and 4.00 will ignore this
command. John has indicated that the 4.00b will incorporate it. You will
have to put a /B:Z in the command line to make doorway NOT write the bottom
right character if this is happening. It is highly recommended to put your
com package into 25 line mode if possible, and not use the /b:M switch.
Added support for the "GENERIC" DOOR.SYS file which follows. Note that it
still supports the "special" DOORWAY DOOR.SYS file as well. Simply put "SYS"
where you would put "COM1" and it will read the DOOR.SYS file. It will figure
out which it is by looking at it.
Fixed a long standing problem where the /F: (FAST) switch and ANSI.COM
together would result in very slow operation in DOS.
Fixed code so that a program in a subdirectory with a "." in it would not
abort with a "MUST BE AN .EXE OR .COM PROGRAM" message.
If in menu mode and one of the selections had a "W" selected, it would
carry over to all other selections after that choice had been called.
Have added key translation. A new switch /X has been added to tell doorway
to load a key translation file. See xlate.doc for more information. A program
XTABLE.EXE has been added to make and modify the translation table. This will
allow you to run a program which requires extended key codes without a com
program which can generate them.
Have added the ability to override the screen delay on sign-on screen. I have
had requests for this, but most people will not want to put it in, as it gives
no time for the user to see his time left. Do this with a /O:T.
Have added additional support for "different" com ports. In place of COM1,
COM2, COM3, COM4, and LOCAL after the DOORWAY, you can put PORT:XXXX:X, which
gives the base address of the com port and the interrupt to use. Thus a
PORT:03F8:4 is equivalent to COM1. You must put all 4 hexadecimal digits
of the address in, even if the first is a 0.
Now works with QEDIT, and some other programs which didn't seem to always
accept the remote keys as desired. DOORWAY now passes the program a "best
guess" scan code for each character. For instance the ESC key will look like
the ESC key, and not the ^[, which is also an escape. The "+" sign will
have the scan code of the Shift "=", not the GREY "+". If you want a different
scan code for the key, use the translation table generator included.
There is a 1 second carrier detect now before entering the door. Previously
it was a one shot, and if there was a short loss of carrier, it could abort
back to the board. Carrier must remain gone for 1 full second before causing
an abort now.
VERSION 2.01
Fixed a couple of problems.
In DIRECT SCREEN WRITE MODE, a /B:M or /B:MZ (24 line mode) would cause jumbled
text on the remote end. The /B:M in this mode will now cause the entire remote
screen to be shifted up one line, instead of overwriting the 24th line.
Overwriting the 24th line turned out to be impratical in this mode.
A /B:X would cause output to stop when it reached the bottom of the screen in
DIRECT SCREEN WRITE mode. This is now fixed. (Those 24 line com programs
are driving me crazy!)
Some BIOS's and video cards are not IBM compatible. When a "TTY WRITE" occurs,
DOORWAY would expect the BIOS to call itself and write the character, and do
the necessary cursor positioning (like CRLF's). The Paradise VGA Plus and some
other BIOS's do not do this, and the characters, or more often the CRLF's do
not get sent. A new switch has been added: the /J: will tell DOORWAY that the
BIOS is not compatible, and to not expect a second chance at sending a
character or CRLF sequence. If your drop to dos is not sending CRLF's, or
is not sending characters, and you are using ANSI.SYS or ANSI.COM in slow mode,
give this switch a try.
VERSION 2.02
Fixed a couple of problems.
If you exited doorway in direct screen mode, it would neglect to restore the
remote end to "wrap at end of line", causing the cursor to get stuck at the
right side when back at the board. When you exit in DSW mode it now sends the
set cursor wrap ANSI code.
If you used a menu, or password file and went in in Direct Screen mode, the
menu would get really messed up. This is now fixed.
The /J: switch was not operating in non-graphics mode. Now fixed
Remote input was disabled on an exit message, so you couldn't have a press
return to continue. This is now fixed.
If you entered DOORWAY PORT:03F8:04, doorway would hook vector 0, the timer
interrupt. This caused many bizzare problems and lockups. That will now
give you an error message that the format should be PORT:AAAA:V now ( ie.
DOORWAY PORT:03F:4 )
VERSION 2.03
The translation file was not being closed after reading, resulting in an error
in menu mode if this was used and you tried to re-enter the menu mode.
This is now fixed.
The fix to DSW in menu mode in Version 2.02 resulted in being unable to switch
into or out of Direct Screen Writes mode in a menu command line. This is now
fixed.
I now check for screen changes on timer ticks as well. So a screen which does
not read the keyboard for a period of time will still get updated. There may
be a delay of up to 1 second before changes are noted by timer ticks though.
I have improved screen sychronization from previous versions during screen
scrolls. The improvement is tremendous, and with much testing, I have not
been able to get the remote and local screens out of sync during a directory
listing. Occasionally a line will get rewritten, but a split-second later
will get written back. What is happening here is that during a timer tick
update, a screen scroll is caught during the scroll (where the bottom half has
scrolled but the top half has not). Doorway starts sending the lines to
duplicate this condition, and the screen finishes scrolling, so the "line"
then is seen as being wrong now, and is updated again. However, this is very
minor compared with what was happening previously, and as before, when all the
dust settles, the remote screen will always be correct (barring line noise of
course). I have made the scroll check for up to 5 scrolls, instead of just 3,
as in previous versions. However, since I have rewritten this section in
assembly, checking for 5 is still twice as fast as the previous check was.
There were some problems with attributes becoming messed up for a few
characters. This was seen when moving a cursor backwards in some text editors
in direct screen mode. This is now fixed.
VERSION 2.04
Found bug introduced with version 2.00, but unaware of. Result was a full line
of the same character with some programs would result in only 1 or 2 characters
on the line. GT sysops seemed to be most affected by this bug. Sorry I
didn't notice this until recently.
VERSION 1.05
Recoded parts of DOORWAY in Assembly language. This allowed me to increased
the direct screen write speed by about 50%, add some more features, AND reduce
code size by about 1K.
DOORWAY now will accept the enhanced keys which are indicated by an E0 hex in
the AL register (instead of a Null). Thus you can now differentiate between
the new grey cursor keys and the old non-enhanced white cursor keys. The com
program will need to send a "NULL" "E0 Hex" "SCAN CODE" for DOORWAY to
recognize it as the enhanced code. QMODEM 4.1 and PibTerm have added this
capability concurrent with DOORWAY. Also the F11 and F12 will work if the
program does an enhanced call.
When a new screen pops up in direct screen mode, DOORWAY will now start
updating at the top of the screen.
You can trap shells to dos with doorway now. Just put a /H: in the command
line and DOORWAY will halt dos shells. Do not use a /H: on a drop to dos or
DOORWAY will be unable to load command.com either!
Improved error reporting has been added. Insufficient memory will report in
plain english.
XTABLE will recognize an enhanced keyboard now, and will allow you to enter
enhanced key codes, such as ^ up arrow, F11 and F12.
Direct Screen mode has been increased in speed by about 50%. In most cases
you should be limited only by the baud rate, not CPU speed.
Fixed a problem where you couldn't translate extended codes to anything else.